package com.mercury.ec.module.air.dal.dataobject.order;

import lombok.*;

import java.time.LocalDate;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import com.mercury.ec.framework.mybatis.core.dataobject.BaseDO;

/**
 * 机票订单行程 DO
 *
 * @author hesx
 */
@TableName("air_order_route")
@KeySequence("air_order_route_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AirOrderRouteDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 订单id
     */
    private Long orderId;
    /**
     * 序号
     */
    private Integer serialNo;
    /**
     * 原行程id
     */
    private Long originOrderRouteId;
    /**
     * 航司代码
     */
    private String airlineNo;
    /**
     * 承运航司代码
     */
    private String carrierAirlineNo;
    /**
     * 航班号
     */
    private String flightNo;
    /**
     * 舱位
     */
    private String cabin;
    /**
     * 出发机场三字码
     */
    private String depart;
    /**
     * 抵达机场三字码
     */
    private String arrive;
    /**
     * 航班日期
     */
    private LocalDate flightDate;
    /**
     * 抵达日期
     */
    private LocalDate arriveDate;
    /**
     * 出发时间(HH:mm)
     */
    private String departTime;
    /**
     * 抵达时间(HH:mm)
     */
    private String arriveTime;
    /**
     * 出发航站楼
     */
    private String departTerminal;
    /**
     * 抵达航站楼
     */
    private String arriveTerminal;
    /**
     * 机型
     */
    private String airModel;
    /**
     * 机型名称
     */
    private String airModelName;
    /**
     * 行李额
     */
    private String baggageWeight;
    /**
     * 是否提供餐食
     *
     * 枚举 {@link TODO infra_boolean_string 对应的类}
     */
    private Boolean haveFood;
    /**
     * 餐食类型
     */
    private String foodType;
    /**
     * 是否经停
     *
     * 枚举 {@link TODO infra_boolean_string 对应的类}
     */
    private Boolean stop;
    /**
     * 经停开始日期
     */
    private LocalDate stopStartDate;
    /**
     * 经停结束日期
     */
    private LocalDate stopEndDate;
    /**
     * 经停开始时间
     */
    private String stopStartTime;
    /**
     * 经停结束时间
     */
    private String stopEndTime;
    /**
     * 经停机场三字码
     */
    private String stopAirportNo;
    /**
     * 经停航站楼
     */
    private String stopTerminal;
    /**
     * 是否共享航班
     *
     * 枚举 {@link TODO infra_boolean_string 对应的类}
     */
    private Boolean share;
    /**
     * 是否通程航班
     */
    private Boolean through;
    /**
     * 准点率
     */
    private BigDecimal punctualityRate;
    /**
     * 飞行距离
     */
    private Integer distance;
    /**
     * 飞行天数
     */
    private Integer flightDays;
    /**
     * 飞行时间
     */
    private String flightTimes;
    /**
     * 编码航段状态
     */
    private String routeStatus;
}
